home *** CD-ROM | disk | FTP | other *** search
- // Fireworks Dreamweaver 2.0 HTML & JavaScript for sliced output.
- // Version 2.0 10FEB99
-
-
- // To export HTML without comments change the value of variable doComments to "false".
- var doComments = true;
-
- // When doComments is set to "true" the WRITE_HTML_COMMENT and WRITE_JS_COMMENT functions
- // include HTML and JavaScript comments in the exported file.
- function WRITE_HTML_COMMENT(str) {
- if (doComments) WRITE_HTML("<!--"+str+"-->\n");
- }
-
- function WRITE_JS_COMMENT(str) {
- if (doComments) WRITE_HTML("/* "+str+" */\n");
- }
-
- // Declare variables for processing Behaviors.
- var hasGroup = false;
- var hasDownGroup = false;
- var hasSwap = false;
- var hasStatusMessage = false;
- var useCookie = true;
-
- var onLoadPreloads = "";
-
- // Write general comments for copying and pasting Fireworks-generated code into existing HTML documents.
- WRITE_HTML_COMMENT("To put this html into an existing HTML document, you must copy the JavaScript and");
- WRITE_HTML_COMMENT("paste it in a specific location within the destination HTML document. You must then copy");
- WRITE_HTML_COMMENT("and paste the table in a different location.");
- WRITE_HTML("\n");
-
- WRITE_HTML("<html>\n");
- WRITE_HTML("\n");
-
- WRITE_HTML("<head>\n");
- WRITE_HTML("\n");
-
- // Use Base Name from export dialog as document title.
- WRITE_HTML("<title>", exportDoc.filename, "</title>\n");
- WRITE_HTML("\n");
-
- // Write Meta tags.
- WRITE_HTML("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=");
- var charSet = App.getPref("HtmlCharSet");
- if (charSet == "") charSet = "iso-8859-1";
- WRITE_HTML(charSet + "\">\n");
- WRITE_HTML("<meta name=\"description\" content=\"Fireworks Splice HTML\">\n");
- WRITE_HTML("\n");
-
- // Write HTML target and date created.
- var d = new Date();
- WRITE_HTML("<!-- Fireworks 2.0 Dreamweaver 2.0 target. Created ", d, " -->\n");
- WRITE_HTML("\n");
-
- var curIdCounter = d.getTime();
-
- // Function SwapName generates a swap id based on the current time.
- function SwapName(i) {
- var name = "#" + Math.floor(i);
- return(name);
- }
-
- // Declare variables for processing Behaviors.
- var kActionStatusMessage = 1;
- var kActionSwapImage = 2;
- var kActionRadioGroup = 3;
-
- var kEventMouseOver = 0;
- var kEventOnClick = 1;
- var kEventMouseOut = 2;
-
- function CellName(row, col) {
- var cellName = "N" + exportDoc.imagename + "_" + (row+1) + "_" + (col+1);
- var curSlice = slices[row][col];
- if (curSlice && curSlice.getFrameFileName(0)) {
- cellName = curSlice.getFrameFileName(0).toString();
- curSlice.setFrameFileName(0, cellName);
- // remove illegal characters
- cellName = cellName.replace(/\W/g, "");
- // if it starts with a number, add N to the front.
- if (cellName == "") cellName = "N" + exportDoc.imagename + "_" + (row+1) + "_" + (col+1);
- if (cellName.search(/\d/) == 0) {
- cellName = "N"+cellName;
- }
- }
- return(cellName);
- }
-
- // Determine and process Behaviors in the document.
- function ProcessBehavior(theCurBehaviors, theObj) {
-
- // Declare variables for processing behaviors.
- var gotJavascript = false;
-
- var overStat = false;
- var hitStat = false;
- var outStat = false;
- var curRestore = false;
- var numRestore = 0;
- var eraseStatOnRestore = false;
-
- var javaOver = "";
- var javaOut = "";
- var javaClick = "";
-
- var groupName = false;
-
- // Determine if this set of Behaviors includes a toggle group name.
- for (var i=0; i<theCurBehaviors.numberOfBehaviors; i++) {
- var curBehavior = theCurBehaviors[i];
- if (curBehavior.action == kActionRadioGroup) {
- groupName = curBehavior.groupName;
- }
- }
- var swapImageOver = "";
- var swapImageClick = "";
- var swapImageOut = "";
-
- var precacheImageOver = "";
- var precacheImageClick = "";
- var precacheImageOut = "";
-
- // Translate behaviors into javascript.
- for (var i=0; i<theCurBehaviors.numberOfBehaviors; i++) {
- var curBehavior = theCurBehaviors[i];
- var curJavascript = "";
- var curSwap = "";
- var curPrecache = "";
-
- // Translate Swap Image Behaviors into JavaScript.
- if (curBehavior.action == kActionSwapImage) {
- gotJavascript = true;
- curRestore = curBehavior.restoreOnMouseout;
- var swapRow = curBehavior.targetRowNum;
- var swapCol = curBehavior.targetColumnNum;
- var swapFrame = curBehavior.targetFrameNum;
- var fileName;
- if (curBehavior.hasHref) {
- fileName = curBehavior.href;
- } else {
- fileName = slices.imagesDirPath + slices[swapRow][swapCol].getFrameFileName(swapFrame) + slices[swapRow][swapCol].imageSuffix;
- }
-
- var cellName = CellName(swapRow,swapCol);
-
- // If image swaps are part of a toggel group process the image swaps.
- if (groupName) {
- curSwap += "'" +cellName +"','";
- curSwap += fileName +"'";
- if (curBehavior.event == kEventOnClick) {
- /* Need click file */
- if (slices[swapRow][swapCol].getFrameFileName(3) && swapFrame == 2) {
- fileName = slices.imagesDirPath + slices[swapRow][swapCol].getFrameFileName(3) + slices[swapRow][swapCol].imageSuffix;
- }
- curSwap += ",'" + fileName + "'";
- }
-
- // Process image swaps that are not included in a toggle group.
- } else {
- curSwap += "'document." +cellName +"','document." + cellName + "','";
- curSwap += fileName + "'"
- }
-
- // Remember images for precaching.
- if (curPrecache) curPrecache += ",";
- curPrecache += "'" + fileName + "'";
- if (curRestore) {
- numRestore += 1;
- }
- }
- var gotStat = false;
-
- // Translate Status Bar Message Behavior into JavaScript.
- if (curBehavior.action == kActionStatusMessage) {
- gotJavascript = true;
- gotStat = true;
- var statMsg = curBehavior.statusText;
- curJavascript += "MM_displayStatusMsg('" + statMsg + "');";
- if (curBehavior.restoreOnMouseout) eraseStatOnRestore=true;
- }
-
- // Generate JavaScript for over event.
- if (curBehavior.event == kEventMouseOver) {
- if (curSwap) {
- if (swapImageOver) swapImageOver += ",";
- swapImageOver += curSwap;
- if (precacheImageOver) precacheImageOver+=",";
- precacheImageOver += curPrecache;
- }
- javaOver += curJavascript;
- if (gotStat) overStat = true;
- }
-
- // Generate JavaScript for out event.
- if (curBehavior.event == kEventMouseOut) {
- if (curSwap) {
- if (swapImageOut) swapImageOut += ",";
- swapImageOut += curSwap;
- if (precacheImageOut) precacheImageOut+=",";
- precacheImageOut += curPrecache;
- }
- javaOut += curJavascript;
- if (gotStat) outStat = true;
- }
-
- // Generate JavaScript for onClick event.
- if (curBehavior.event == kEventOnClick) {
- if (curSwap) {
- if (swapImageClick) swapImageClick += ",";
- swapImageClick += curSwap;
- if (precacheImageClick) precacheImageClick+=",";
- precacheImageClick += curPrecache;
- }
- javaClick += curJavascript;
- if (gotStat) hitStat = true;
- }
- }
-
- if (groupName) {
-
- // Generate toggle group JavaScript and preloads.
- if (swapImageOver) {
- tag = ",'" + SwapName(curIdCounter) + "');"; curIdCounter++;
- javaOver += "GrpSwap('" + groupName + "'," + swapImageOver + tag;
- onLoadPreloads += "MM_preloadImages(" + precacheImageOver + tag;
- hasGroup = true;
- }
- if (swapImageClick) {
- tag = ",'" + SwapName(curIdCounter) + "');"; curIdCounter++;
- javaClick += "GrpDown('" + groupName + "'," + swapImageClick + tag;
- onLoadPreloads += "MM_preloadImages(" + precacheImageClick + tag;
- hasDownGroup = true;
- }
- if (swapImageOut) {
- tag = ",'" + SwapName(curIdCounter) + "');"; curIdCounter++;
- javaOut += "GrpSwap('" + groupName + "'," + swapImageOut + tag;
- onLoadPreloads += "MM_preloadImages(" + precacheImageOut + tag;
- hasGrou = true;
- }
- if (numRestore >= 1) {
- javaOut += "GrpRestore('" + groupName + "');" ;
- }
- } else {
-
- // Generate swap image javascripts and preloads.
- if (swapImageOver) {
- tag = ",'" + SwapName(curIdCounter) + "');"; curIdCounter++;
- javaOver += "MM_swapImage(" + swapImageOver + tag;
- onLoadPreloads += "MM_preloadImages(" + precacheImageOver + tag;
- hasSwap = true;
- }
- if (swapImageClick) {
- tag = ",'" + SwapName(curIdCounter) + "');"; curIdCounter++;
- javaClick += "MM_swapImage(" + swapImageClick + tag;
- onLoadPreloads += "MM_preloadImages(" + precacheImageClick + tag;
- hasSwap = true;
- }
- if (swapImageOut) {
- tag = ",'" + SwapName(curIdCounter) + "');"; curIdCounter++;
- javaOut += "MM_swapImage(" + swapImageOut + tag;
- onLoadPreloads += "MM_preloadImages(" + precacheImageOut + tag;
- hasSwap = true;
- }
- if (numRestore >= 1) {
- javaOut += "MM_swapImgRestore();";
- numRestore = 0;
- }
- }
-
- // Erase status bar message onMouseOut.
- if (eraseStatOnRestore) {
- javaOut += "MM_displayStatusMsg(' ');" ;
- outStat = true;
- }
-
- // Status bar messages require a return value in Netscape.
- // Put return at end of JavaScript.
- var ret = "return document.MM_returnValue";
- if (overStat) javaOver += ret;
- if (outStat) javaOut += ret;
- if (hitStat) javaClick += ret;
- theObj.javaOver = javaOver;
- theObj.javaOut = javaOut;
- theObj.javaClick = javaClick;
- theObj.gotJavascript = gotJavascript;
- }
-
- // Build a list of toggle groups in array groups.
- var groups = new Array;
- function AddGroup(name) {
- var i;
- for (i=0; i<groups.length; i++) {
- if (groups[i] == name) return;
- }
- groups[i] = name;
- }
-
-
- // Find and declare all images used in Behaviors.
- function DoFile(curBeh) {
- var swapRow = curBeh.targetRowNum;
- var swapCol = curBeh.targetColumnNum;
- var swapFrame = curBeh.targetFrameNum;
- var fileName = slices[swapRow][swapCol].getFrameFileName(0);
- if (swapFrame > 0) {
- var frame = swapFrame + 1;
- fileName = fileName + "_F" + frame;
- slices[swapRow][swapCol].setFrameFileName(swapFrame, fileName);
- }
- }
-
- // Examine all behaviors to determine what groups and actions are present.
- // Determine which files to pre-cache.
- for (var curRow = 0; curRow < slices.numRows; curRow++) {
- for (var curCol = 0; curCol < slices.numColumns; curCol++) {
- var curSlice = slices[curRow][curCol];
- curSlice.javaOver = "";
- curSlice.javaOut = "";
- curSlice.javaClick = "";
- curSlice.gotJavascript = false;
-
- if (slices[curRow][curCol].skipCell) continue;
- i = i + exportDoc.numFrames;
-
- if (slices[curRow][curCol].behaviors.numberOfBehaviors > 0) {
- var behaviors = curSlice.behaviors;
- for (var i=0; i<behaviors.numberOfBehaviors; i++) {
- var curBehavior = behaviors[i];
- if (curBehavior.action == kActionSwapImage) {
- DoFile(curBehavior);
- }
- if (curBehavior.action == kActionRadioGroup) {
- AddGroup(curBehavior.groupName);
- }
- if (curBehavior.action == kActionStatusMessage) {
- hasStatusMessage=true;
- }
- }
- ProcessBehavior(behaviors, curSlice);
- }
- var imagemap = curSlice.imagemap;
- for (var j=0; j < imagemap.numberOfURLs; j++) {
- var curImagemap = imagemap[j];
- var behaviors = curImagemap.behaviors;
- if (behaviors.numberOfBehaviors==0) {
- behaviors = curSlice.behaviors;
- }
- for (var i=0; i<behaviors.numberOfBehaviors; i++) {
- var curBehavior = behaviors[i];
- if (curBehavior.action == kActionSwapImage) {
- DoFile(curBehavior);
- }
- if (curBehavior.action == kActionRadioGroup) {
- AddGroup(curBehavior.groupName);
- }
- if (curBehavior.action == kActionStatusMessage) {
- hasStatusMessage=true;
- }
- }
- ProcessBehavior(behaviors, curImagemap);
- }
- }
- }
-
- function WRITE_JS_FUNCTION(func) {
- WRITE_HTML(func);
- }
-
- // Write comment for start of JavaScript copy/paste section.
- WRITE_HTML_COMMENT("------------------ BEGIN COPYING THE JAVASCRIPT SECTION HERE -----------------");
- WRITE_HTML("\n");
-
- // Begin Script. Hide Script from non-javascript-enabled browsers.
- WRITE_HTML("<script language=\"JavaScript\">\n");
- WRITE_HTML("<!--hide this script from non-javascript-enabled browsers\n");
- WRITE_HTML("\n");
-
- /*-------------------------- JavaScript functions used in the HTML -----------------*/
-
- // Function MM_preloadImages pre-caches images.
- function MM_preloadImages(){
- if (document.images) {
- var imgFiles = MM_preloadImages.arguments;
- if (document.preloadArray==null) document.preloadArray = new Array();
- var i = document.preloadArray.length;
- with (document) for (var j=0; j<imgFiles.length; j++) if (imgFiles[j].charAt(0)!="#") {
- document.preloadArray[i] = new Image;
- document.preloadArray[i++].src = imgFiles[j];
- }
- }
- }
-
- /* Function MM_displayStatusMsg executes status bar messages. */
- function MM_displayStatusMsg(msgStr) {
- status=msgStr;
- document.MM_returnValue = true;
- }
-
- /* Function MM_swapImage executes image swaps. */
- function MM_swapImage() { //
- var i,j=0,objStr,obj,swapArray=new Array,oldArray=document.MM_swapImgData;
- for (i=0; i < (MM_swapImage.arguments.length-2); i+=3) {
- objStr = MM_swapImage.arguments[(navigator.appName == 'Netscape')?i:i+1];
- if ((objStr.indexOf('document.layers[')==0 && document.layers==null) ||
- (objStr.indexOf('document.all[') ==0 && document.all ==null))
- objStr = 'document'+objStr.substring(objStr.lastIndexOf('.'),objStr.length);
- obj = eval(objStr);
- if (obj != null) {
- swapArray[j++] = obj;
- swapArray[j++] = (oldArray==null || oldArray[j-1]!=obj)?obj.src:oldArray[j];
- obj.src = MM_swapImage.arguments[i+2];
- } }
- document.MM_swapImgData = swapArray; //used for restore
- }
-
- // Function MM_swapImgRestore restores swapped images to their original states.
- function MM_swapImgRestore() { //v1.2
- if (document.MM_swapImgData != null)
- for (var i=0; i<(document.MM_swapImgData.length-1); i+=2)
- document.MM_swapImgData[i].src = document.MM_swapImgData[i+1];
- }
-
- /* Function setCookie creates a browser cookie for tracking and setting button states. */
- function setCookie(name, value) {
- document.cookie = name + "=" + escape(value)
- }
-
- /* Function getCookie reads a browser cookie for setting button states. */
- function getCookie(Name) {
- var search = Name + "="
- var retVal = "";
- if (document.cookie.length > 0) { // if there are any cookies
- offset = document.cookie.indexOf(search);
- if (offset != -1) { // if cookie exists
- // set index of beginning of value
- end = document.cookie.indexOf(";", offset)
- // set index of end of cookie value
- offset += search.length
- if (end == -1)
- end = document.cookie.length;
- retVal = unescape(document.cookie.substring(offset, end)) ;
- }
- }
- return(retVal);
- }
-
- /* Function FWFindImage locates an image which may be in a CSS layer. This allows the user
- to move images between layers in an html editor without breaking behaviors. */
- function FWFindImage(doc, name, j){
- var theImage=false;
- if (doc.images) {
- theImage = doc.images[name];
- }
- if (theImage) return theImage;
- if (doc.layers) {
- for (j=0; j<doc.layers.length; j++) {
- theImage = FWFindImage(doc.layers[j].document, name, 0);
- if (theImage) return(theImage);
- }
- }
- return(false);
- }
-
- /* Function InitGrp checks for a cookie for the current toggle group and uses that information
- to set the current down button state. */
- function InitGrp(grp) {
- var cmd = false;
- if (getCookie) cmd = getCookie(grp);
- if (cmd) {
- eval("GrpDown("+cmd+")");
- eval("GrpRestore("+cmd+")");
- }
- }
-
- /* Function FindGroup locates toggle group information in the current document and
- creates it if it has not already been declared. */
- function FindGroup(grp, imageName) {
- var img = FWFindImage(document, imageName, 0);
- if (!img) return(false);
- var docGroup = eval("document.FWG_"+grp);
- if (!docGroup) {
- docGroup = new Object;
- eval("document.FWG_"+grp+" = docGroup");
- docGroup.theImages = new Array;
- }
- if (img) {
- var i;
- for (i=0; i<docGroup.theImages.length; i++) {
- if (docGroup.theImages[i] == img) break;
- }
- docGroup.theImages[i] = img;
- if (!img.atRestSrc) {
- img.atRestSrc = img.src;
- img.initialSrc = img.src;
- }
- }
- return(docGroup);
- }
-
- /* Function GrpDown sets appropriate image to the down state. */
- function GrpDown(grp){
- var i,j=0,downSrc,downOver,objName;
- var cmd = "'" + grp + "'";
- var docGroup=false;
- for (i=1; i < (GrpDown.arguments.length-2); i+=3) {
- objName = GrpDown.arguments[i];
- downSrc = GrpDown.arguments[i+1];
- downOver = GrpDown.arguments[i+2];
- if(!downOver) downOver = downSrc;
- var docGroup = FindGroup(grp, objName);
- if (!docGroup || !downSrc) continue;
- obj = FWFindImage(document,objName,0);
- if (!obj) continue;
- obj.atRestSrc = downSrc; obj.downOver = downOver;
- obj.src = downOver; obj.isDown = true;
- obj.skipMe = true;
- cmd += ",'" + objName + "','" + downSrc + "','" + downOver + "'";
- j++;
- }
- setCookie(grp, cmd);
- if (!docGroup) return;
- var theImages = docGroup.theImages;
- if (theImages) {
- for (i=0; i<theImages.length; i++) {
- var curImg = theImages[i];
- if (curImg && !curImg.skipMe) {
- curImg.atRestSrc = curImg.initialSrc;
- curImg.isDown = false; curImg.downOver = false;
- curImg.src = curImg.initialSrc;
- }
- curImg.skipMe = false;
- }
- }
- }
-
- /* Function GrpSwap swaps one or more images and restores all other images in the group
- to their default state. */
- function GrpSwap(grp){
- var i,j=0,newSrc,objName;
- var docGroup = false;
- for (i=1; i < (GrpSwap.arguments.length-1); i+=2) {
- objName = GrpSwap.arguments[i];
- newSrc = GrpSwap.arguments[i+1];
- docGroup = FindGroup(grp, objName);
- if (!docGroup) continue;
- obj = FWFindImage(document,objName,0);
- if (!obj) continue;
- if (obj.isDown) {
- if (obj.downOver) {
- obj.src = obj.downOver;
- }
- } else {
- obj.src = newSrc;
- obj.atRestSrc = obj.initialSrc;
- }
- obj.skipMe = true;
- j++;
- }
- if (!docGroup) return;
- theImages = docGroup.theImages;
- if (theImages) {
- for (i=0; i<theImages.length; i++) {
- var curImg = theImages[i];
- if (curImg.atRestSrc && !curImg.skipMe) {
- curImg.src = curImg.atRestSrc;
- }
- curImg.skipMe = false;
- }
- }
- }
-
- /* Function GrpRestore sets all images in the group to their default states. */
- function GrpRestore(grp){
- var docGroup = eval("document.FWG_"+grp);if (!docGroup) return;
- theImages = docGroup.theImages;
- if (theImages) {
- for (i=0; i<theImages.length; i++) {
- var curImg = theImages[i];
- if (curImg.atRestSrc) {
- curImg.src = curImg.atRestSrc;
- }
- }
- }
- }
-
- /*----------------- END JavaScript functions used in the HTML -----------------*/
-
- // Write out only the JavaScript functions needed for the HTML.
-
- /* Write function MM_preloadImages if document includes images
- that must be pre-cached. */
- if (onLoadPreloads != "") {
- WRITE_JS_FUNCTION(MM_preloadImages);
- }
-
- // Write function MM_displayStatusMsg if document includes status bar messages.
- if (hasStatusMessage) {
- WRITE_JS_FUNCTION(MM_displayStatusMsg);
- }
-
- // Write function MM_swapImage if document includes swap image behaviors.
- if (hasSwap) {
- WRITE_JS_FUNCTION(MM_swapImage);
- // Write function MM_swapImgRestore to restore swapped images.
- WRITE_JS_FUNCTION(MM_swapImgRestore);
- }
-
- // Write the following functions for toggle group behaviors and tracking.
- if (hasDownGroup) {
- WRITE_JS_FUNCTION(GrpDown);
- WRITE_JS_FUNCTION(setCookie);
- WRITE_JS_FUNCTION(getCookie);
- WRITE_JS_FUNCTION(InitGrp);
- }
-
- if (hasGroup) {
- WRITE_JS_FUNCTION(GrpSwap);
- }
-
- if (hasGroup || hasDownGroup) {
- WRITE_JS_FUNCTION(FWFindImage);
- WRITE_JS_FUNCTION(FindGroup);
- WRITE_JS_FUNCTION(GrpRestore);
- }
-
- // Stop hiding script from non-javascript-enabled browsers. End script.
- WRITE_HTML("// stop hiding -->\n");
- WRITE_HTML("</script>\n");
- WRITE_HTML("\n");
-
- // End JavaScript copy/paste section.
- WRITE_HTML_COMMENT("------------------------ STOP COPYING THE JAVASCRIPT HERE ------------------------");
- WRITE_HTML("\n");
-
- // Close head tag.
- WRITE_HTML("</head>\n");
- WRITE_HTML("\n");
-
- // Begin body tag. Set background color to Fireworks document canvas color.
- WRITE_HTML("<body bgcolor=\"#", exportDoc.backgroundColor.toString(16), "\"");
-
- // Write onLoad function to initialize toggle group.
- if (onLoadPreloads != "" || groups.length>0) {
- WRITE_HTML(" onLoad=\"" + onLoadPreloads);
-
- if (hasDownGroup) {
- for (i = 0; i<groups.length; i++) {
- WRITE_HTML("InitGrp('" + groups[i] + "');");
- }
- }
- WRITE_HTML("\""); // close the onload tag.
- }
- WRITE_HTML(">\n"); // close the body tag.
- WRITE_HTML("\n");
-
- // Write comment for start of table copy/paste section.
- WRITE_HTML_COMMENT("The following section is an HTML table which reassembles the sliced image in a browser.");
- WRITE_HTML_COMMENT("Copy the table section including the opening and closing table tags, and paste the data where");
- WRITE_HTML_COMMENT("you want the reassembled image to appear in the destination document. ");
- WRITE_HTML("\n");
- WRITE_HTML_COMMENT("------------------------ BEGIN COPYING THE TABLE HERE --------------------------");
- WRITE_HTML("\n");
-
- WRITE_HTML_COMMENT(" Image with table ");
- WRITE_HTML("\n");
-
- // Begin table.
- WRITE_HTML( "<table ");
-
- // If the Fireworks document's canvas is not transparent and the Include undefined slices checkbox
- // is off, give the table a background color based on the FIreworks document's canvas color.
- if (!exportDoc.backgroundIsTransparent && slices.doSkipUndefined) {
- WRITE_HTML("bgcolor=\"#", exportDoc.backgroundColor, "\"");
- }
- WRITE_HTML("border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"",
- exportDoc.width, "\">\n");
- WRITE_HTML("\n");
-
- var v = 0;
- var curCol;
- var curRow;
- var downIndex = 0;
-
- // If shims have been specified, write shim row.
- if (slices.doShimEdges) {
- WRITE_HTML(" <tr><!-- spacing row, 1 height. -->\n");
- for (curCol = 0; curCol < slices.numColumns; curCol++) {
- WRITE_HTML(" <td><img name=\"FwShim_Col_", curCol, "\" src=\"",
- slices.shimPath, "\" width=\"",
- slices[0][curCol].cellWidth, "\" height=\"1\" border=\"0\"></td>\n");
- }
- WRITE_HTML(" </tr>\n");
- WRITE_HTML("\n");
- }
-
- // Write table rows.
- for (curRow = 0; curRow < slices.numRows; curRow++) {
- var curSlice;
- WRITE_HTML(" <tr><!-- row ", curRow+1," -->\n");
- for (curCol = 0; curCol < slices.numColumns; curCol++) {
- curSlice = slices[curRow][curCol];
- if (curSlice.skipCell) continue;
-
- // Write rowspan and colspan if necessary. Ex: rowspan="1" colspan="3"
- WRITE_HTML(" <td");
- if (curSlice.rowSpan > 1) {
- WRITE_HTML(" rowspan=\"", curSlice.rowSpan,"\"");
- }
- if (curSlice.columnSpan>1) {
- WRITE_HTML(" colspan=\"", curSlice.columnSpan, "\"");
- }
- WRITE_HTML(">");
- var imageName = curSlice.getFrameFileName(0);
-
- // Write HTML text from slices set to "Text (No Image)"
- if (!curSlice.hasImage) {
- // no image, just dump out html text.
- WRITE_HTML(curSlice.htmlText, "</td>\n");
- continue;
- }
-
- // If current slice is not defined by a slice object and Export Undefined
- // Slices is not checked, don't output an image and if Shims are specified
- // place a shim image in the current cell.
- if (curSlice.isUndefined && slices.doSkipUndefined) {
- // Cur slice has no slice object, and skip undefined is on.
- if (slices.doShimInternal || slices.doShimEdges) {
- // WRITE_HTML out a shim image.
- WRITE_HTML("<img src=\"",
- slices.shimPath, "\" width=\"", curSlice.width, "\" height=\"",
- curSlice.height, "\" border=\"0\">");
- }
- WRITE_HTML("</td>\n");
- // Tell Fireworks to not write the image file. Setting the filename to "" forces
- // Fireworks to not generate the image.
- var q;
- for (q=0; q<exportDoc.numFrames; q++) {
- curSlice.setFrameFileName(q, "");
- }
- continue;
- }
-
- // Write link if slice has URL attached.
- var href = "href=\"#\"";
- var hasHref = slices.hasHref;
- var abortHref = false;
- var suffix = "";
-
- var hasHref = curSlice.hasHref;
- var abortHref = false;
- var suffix = "";
- if (curSlice.hasHref) {
- href = "href=\"";
- href += curSlice.href;
- href += "\"";
- if (curSlice.hasTargetText) {
- href += " target=\"";
- href += curSlice.targetText;
- href += "\"";
- }
- }
-
- // If exporting demo HTML, ignore the URL and replace with none.
- if (slices.doDemoHTML && curSlice.getFrameFileName(2)) {
- // no href.
- hasHref = false;
- href = "href= \"#\"";
- }
-
- var cellName = CellName(curRow,curCol);
- var anchorTagOpen = false;
-
- var behaviors = slices[curRow][curCol].behaviors;
- var javaOver = curSlice.javaOver;
- var javaOut = curSlice.javaOut;
- var javaClick = curSlice.javaClick;
- var gotJavascript = curSlice.gotJavascript;
- if (curSlice.hasImagemap) gotJavascript = false; // is applied to the imagemap.
-
- // Write rollover and swap image events.
- if ( gotJavascript || slices[curRow][curCol].hasHref) {
- /* Write out href and over etc. */
- WRITE_HTML("<a ");
- anchorTagOpen = true;
- WRITE_HTML(href);
-
- if (javaOut != "") {
- WRITE_HTML(" onMouseOut=\"", javaOut, "\" ");
- }
- if (javaOver != "") {
- WRITE_HTML(" onMouseOver=\"", javaOver, "\" ");
- }
- if (javaClick != "") {
- WRITE_HTML(" onClick=\"", javaClick, "\" ");
- }
- WRITE_HTML(">");
- }
-
- // Place image.
- if (curSlice.hasImage) {
- var altText = "";
- if (curSlice.hasAltText) {
- altText = curSlice.altText;
- } else {
- altText = exportDoc.altText;
- }
-
- // Assemble info for image tag.
- // Ex: <img src="File_03_02.gif" name="N_03_02" width="79" height="71" border="0"
- WRITE_HTML("<img src=\"",
- slices.imagesDirPath, imageName, suffix, curSlice.imageSuffix, "\" name=\"", cellName, "\" width=\"",curSlice.width,"\" height=\"", curSlice.height, "\" border=\"0\"");
-
- // Write image map name.
- // Ex: usemap="#base_r1_c2"
- if (curSlice.hasImagemap) {
- WRITE_HTML(" usemap=\"#",imageName,"\"");
- }
-
- // Write alt text.
- if (altText != "") {
- WRITE_HTML(" alt=\"", altText, "\"");
- }
- WRITE_HTML(">");
- }
-
- if (anchorTagOpen) {
- WRITE_HTML("</a>");
- }
- WRITE_HTML("</td>\n");
- }
-
- // Place shim in rightmost column of table.
- if (slices.doShimEdges) {
- /* Write the 1 pixel transparent shim. */
- WRITE_HTML(" <td><img name=\"FwShim_Row_", curRow, "\" src=\"",
- slices.shimPath, "\" width=\"1\" height=\"",
- curSlice.cellHeight, "\" border=\"0\"></td>\n");
- }
- WRITE_HTML(" </tr>\n");
- WRITE_HTML("\n");
- }
-
- // Close table.
- WRITE_HTML("</table>\n");
- WRITE_HTML("\n");
-
- // Traverse all slices and generate any image maps needed.
- for (curRow = 0; curRow < slices.numRows; curRow++) {
- for (curCol = 0; curCol < slices.numColumns; curCol++) {
- var curSlice = slices[curRow][curCol];
- if (curSlice.skipCell)
- continue;
- if (curSlice.hasImagemap) {
-
- // Write the image map.
- var imageName = curSlice.getFrameFileName(0);
- WRITE_HTML("<map name=\"", imageName, "\">\n");
-
- var i = 0;
- while (i < curSlice.imagemap.numberOfURLs) {
- var curImagemap = curSlice.imagemap[i];
-
- var behaviors = curImagemap.behaviors;
-
- if (behaviors.numberOfBehaviors==0) {
- behaviors = curSlice.behaviors;
- }
- var javaOver = curImagemap.javaOver;
- var javaOut = curImagemap.javaOut;
- var javaClick = curImagemap.javaClick;
- var gotJavascript = curImagemap.gotJavascript;
-
- // Write the area tag with shape definitions.
- WRITE_HTML("<area shape=\"");
- WRITE_HTML(curImagemap.shape); // Shapes are rect poly and circle
- WRITE_HTML("\" coords=\"");
- for (var j=0; j<curImagemap.numCoords; j++) {
- if (j>0) WRITE_HTML(",");
- // polygon has n coords.
- // rect has 2 coords, topLeft, and botomRight.
- // Circle has one coord, center; plus radius.
- WRITE_HTML((curImagemap.xCoord(j)-curSlice.left), ",", (curImagemap.yCoord(j)-curSlice.top));
- }
- if (curImagemap.shape == "circle") {
- // Write the radius for circle hotspots.
- WRITE_HTML(", ", curImagemap.radius);
- }
- WRITE_HTML("\"");
- var href = " href=\"#\"";
- if (curImagemap.hasHref) {
- href = " href=\"";
- href += curImagemap.href;
- href += "\"";
- if (curImagemap.hasTargetText) {
- href += " target=\"";
- href += curImagemap.targetText;
- href += "\"";
- }
- }
-
- WRITE_HTML(href);
-
- // Write alt text for hotspot.
- var altText = "";
- if (curImagemap.hasAltText) {
- altText = curImagemap.altText;
- } else {
- altText = exportDoc.altText;
- }
-
- if (altText!="") {
- WRITE_HTML(" title=\"", altText, "\"");
- WRITE_HTML(" alt=\"", altText, "\"");
- }
-
- // Write rollover and swap image behaviors.
- if (javaOut != "") {
- WRITE_HTML(" onMouseOut=\"", javaOut, "\"");
- }
- if (javaOver != "") {
- WRITE_HTML(" onMouseOver=\"", javaOver, "\"");
- }
- if (javaClick != "") {
- WRITE_HTML(" onClick=\"", javaClick, "\"");
- }
-
- WRITE_HTML(">\n");
- i++;
- }
- behaviors = curSlice.behaviors;
- var javaOver = curSlice.javaOver;
- var javaOut = curSlice.javaOut;
- var javaClick = curSlice.javaClick;
- var gotJavascript = curSlice.gotJavascript;
-
- // If the current slice had a URL attached, it was moved and written here.
- if (gotJavascript || curSlice.hasHref) {
- WRITE_HTML("<area shape=\"rect\" coords=\"0,0, ", curSlice.width, ",", curSlice.height, "\" ");
- var href="#";
- if (curSlice.hasHref) {
- href = curSlice.href;
- }
- WRITE_HTML("href=\"", href, "\"");
-
- if (curSlice.hasTargetText) {
- WRITE_HTML("\n target=\"", curSlice.targetText, "\"");
- }
- if (javaOut != "") {
- WRITE_HTML(" onMouseOut=\"", javaOut, "\" ");
- }
- if (javaOver != "") {
- WRITE_HTML(" onMouseOver=\"", javaOver, "\"");
- }
- if (javaClick != "") {
- WRITE_HTML(" onClick=\"", javaClick, "\"");
- }
- var altText = "";
- if (curSlice.hasAltText) {
- altText = curSlice.altText;
- } else {
- altText = exportDoc.altText;
- }
- if (altText!="") {
- WRITE_HTML(" title=\"", altText, "\"");
- WRITE_HTML(" alt=\"", altText, "\"");
- }
- WRITE_HTML(">\n");
- }
- WRITE_HTML("</map>\n");
- WRITE_HTML("\n");
- }
- }
- }
-
- WRITE_HTML("\n");
-
- // End table copy/paste section.
- WRITE_HTML_COMMENT(" This table was automatically created with Macromedia Fireworks 2.0 ");
- WRITE_HTML_COMMENT(" http://www.macromedia.com ");
- WRITE_HTML("\n");
-
- WRITE_HTML_COMMENT("------------------------- STOP COPYING THE TABLE HERE -------------------------");
-
- WRITE_HTML("\n");
- WRITE_HTML("</body>\n");
-
- WRITE_HTML("\n");
- WRITE_HTML("</html>\n");
- WRITE_HTML("\n");
-